package com.jas.common;


public abstract class Event {
	
	protected String eventId;
	protected String eventDescription;
	protected boolean completed;

	//@author a0118677r
	public Event() {
		this(Utilities.generateUniqueIdentification());
	}
	
	//@author a0118677r
	public Event(String eventId){
		this.eventId = eventId;
		completed = false;
	}
	
	//@author a0118677r
	public abstract Event copy();

	//@author a0118677r
	public String getEventId() {
		return eventId;
	}

	//@author a0118677r
	public void setEventId(String eventId) {
		this.eventId = eventId;
	}

	//@author a0118677r
	public String getEventDescription() {
	
		return eventDescription;
	}

	//@author a0118677r
	public void setEventDescription(String eventDescription) {
		this.eventDescription = eventDescription;
	}

	//@author a0118677r
	public boolean isCompleted() {
		return completed;
	}

	//@author a0118677r
	public void setCompleted(boolean completed) {
		this.completed = completed;
	}
	
	//@author a0118677r
	@SuppressWarnings("rawtypes")
	public abstract Class getSubClass();
	
	//@author a0118677r
	public abstract String toString();
}
